Definición de cifrado por bloques
En criptografía, el cifrado por bloques es una técnica de cifrado de clave simétrica que opera sobre grupos de bits de longitud fija, denominados bloques. Cada bloque de texto plano es transformado en un bloque cifrado del mismo tamaño mediante una función controlada por una clave secreta proporcionada por el usuario.
Durante el cifrado, el algoritmo toma un bloque de texto claro y, aplicando una serie de sustituciones y permutaciones, genera un bloque cifrado. Este proceso es reversible: al descifrar, se ingresa un bloque cifrado y se recupera el texto plano original usando la misma clave secreta.
A diferencia del cifrado por flujo, que cifra los datos bit a bit o byte a byte en una secuencia continua, el cifrado por bloques procesa los datos en segmentos de tamaño fijo. Por ejemplo, el algoritmo DES utiliza bloques de 64 bits, mientras que el AES opera sobre bloques de 128 bits.
Funcionamiento del cifrado por bloques
Los algoritmos de cifrado por bloques dividen el texto de entrada en bloques de longitud fija (por ejemplo, 128 bits) y aplican una transformación matemática que depende de la clave secreta. Esta transformación incluye operaciones como sustitución (reemplazo de valores) y permutación (reordenamiento de bits), logrando que la relación entre el texto plano y el texto cifrado sea compleja y difícil de predecir.
Por ejemplo, en AES, cada bloque de 128 bits pasa por varias rondas de sustitución, permutación y combinación con subclaves derivadas de la clave principal.
Existen diferentes modos de operación que definen cómo se cifran bloques múltiples de datos:
- ECB (Electronic Code Book): cada bloque se cifra de manera independiente. Es el modo más simple, pero menos seguro, ya que bloques idénticos de texto claro producen bloques idénticos de texto cifrado.
- CBC (Cipher Block Chaining): cada bloque de texto claro se combina con el bloque cifrado anterior antes de cifrarse, lo que mejora la seguridad al evitar patrones repetitivos.
- OFB (Output Feedback Mode): convierte el cifrado por bloques en un cifrado por flujo, generando una secuencia pseudoaleatoria que se combina con el texto claro.
- CFB (Cipher Feedback Mode): similar al OFB, permite cifrar segmentos más pequeños que un bloque completo, útil para transmisiones en tiempo real.
- CTR (Counter Mode): utiliza un contador que se incrementa para cada bloque, permitiendo cifrado y descifrado en paralelo.
- GCM (Galois/Counter Mode): combina el modo CTR con autenticación de mensajes, proporcionando confidencialidad e integridad.
Ventajas y desventajas del cifrado por bloques
Ventajas:
- Ofrece alta seguridad cuando se usan algoritmos y modos de operación modernos y seguros.
- Permite el procesamiento eficiente de grandes volúmenes de datos.
- Modos como CBC y GCM previenen patrones repetitivos en el texto cifrado.
- GCM y otros modos autenticados permiten verificar la integridad de los datos.
Desventajas:
- El modo ECB es inseguro para la mayoría de los usos, ya que revela patrones en los datos.
- La necesidad de dividir el texto en bloques puede requerir relleno cuando el tamaño del mensaje no es múltiplo del tamaño del bloque.
- La reutilización de claves o vectores de inicialización puede comprometer la seguridad.
Comparación con cifrado por flujo
A diferencia del cifrado por bloques, el cifrado por flujo cifra los datos de forma continua, bit a bit o byte a byte, y es más adecuado para transmisiones en tiempo real o flujos de datos de longitud variable. El cifrado por bloques suele ser preferido para archivos o grandes volúmenes de datos, donde la seguridad y la integridad son prioritarias.
Ejemplo de uso
Un ejemplo clásico es el uso de AES en modo GCM para cifrar archivos o conexiones seguras (como HTTPS), donde se requiere tanto confidencialidad como autenticidad de los datos transmitidos.
¿Qué es una unidad de cifrado por bloques en criptografía?
Una unidad de cifrado por bloques en criptografía es un algoritmo de cifrado simétrico que opera en grupos de bits de longitud fija, llamados bloques. Estos algoritmos aplican una transformación invariante a cada bloque de datos para garantizar la seguridad de la información transmitida.
¿Cuál es la ventaja de utilizar una unidad de cifrado por bloques?
La ventaja principal de utilizar una unidad de cifrado por bloques es que permite proteger la información de forma segura y eficiente. Al operar en bloques de datos, se puede realizar el cifrado y descifrado de grandes volúmenes de información de manera más ágil, además de que brinda mayor resistencia frente a ataques criptoanalíticos.
¿Cuál es la diferencia entre una unidad de cifrado por bloques y una de cifrado por flujo?
La principal diferencia entre una unidad de cifrado por bloques y una de cifrado por flujo radica en la forma en que procesan los datos. Mientras que una unidad de cifrado por bloques opera en bloques fijos de datos, una unidad de cifrado por flujo cifra los datos de manera continua, generando un flujo cifrado. Ambos métodos tienen sus ventajas y desventajas, por lo que se elige el más adecuado según las necesidades de seguridad y rendimiento.
¿Cuál es la longitud típica de los bloques en una unidad de cifrado por bloques?
La longitud típica de los bloques en una unidad de cifrado por bloques puede variar dependiendo del algoritmo utilizado. Sin embargo, la longitud más comúnmente utilizada es de 64 bits o de 128 bits. Esta longitud se elige para equilibrar la seguridad y el rendimiento del algoritmo, ya que bloques más largos aumentan la resistencia a ataques, pero también requieren más recursos computacionales.
¿Cuál es el principal objetivo de una transformación invariante en una unidad de cifrado por bloques?
El principal objetivo de una transformación invariante en una unidad de cifrado por bloques es garantizar que la misma entrada siempre produzca la misma salida, bajo la misma clave, permitiendo la reversibilidad necesaria para el descifrado y asegurando que el proceso sea determinístico.
¿Qué es una clave simétrica en una unidad de cifrado por bloques?
Una clave simétrica en una unidad de cifrado por bloques es la clave secreta compartida entre el emisor y el receptor de la información cifrada. Ambas partes utilizan la misma clave para cifrar y descifrar los datos, lo que simplifica el proceso de cifrado. Sin embargo, la clave simétrica debe mantenerse en secreto para garantizar la seguridad de la información transmitida.
Autor: Leandro Alegsa
Actualizado: 12-07-2025
¿Cómo citar este artículo?
Alegsa, Leandro. (2025). Definición de cifrado por bloques. Recuperado de https://www.alegsa.com.ar/Dic/cifrado_por_bloques.php